package com.xjgz.aio.socket.pro.extension.plugins;

import com.xjgz.aio.socket.NetMonitor;
import com.xjgz.aio.socket.StateMachineEnum;
import com.xjgz.aio.socket.transport.AioSession;

public interface Plugin<T> extends NetMonitor {

    boolean preProcess(AioSession session, T t);

    void stateEvent(StateMachineEnum stateMachineEnum, AioSession session, Throwable throwable);
}
